package com.xbongbong.pro.statistic.pojo.dto;

import com.xbongbong.paas.toolbox.wrap.BaseDTO;
import com.xbongbong.paas.toolbox.wrap.QueryIgnore;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import org.hibernate.validator.constraints.Range;

import javax.validation.constraints.NotNull;

/**
 * 新增、移除收藏dto
 * @author zcp
 * @version v1.0
 * @date 2019/1/28 15:40
 * @since v1.0
 */
@Getter
@Setter
@ToString
public class ChartMobileFavoriteSaveDTO extends BaseDTO {
    private static final long serialVersionUID = 6699164364084291428L;

    /**
     * 是否收藏，1收藏，0取消收藏
     */
    @NotNull(message = "{dto.msg.chartMobileFavoriteSave.favorite.NotNull}")
    @Range(min = 0, max = 1, message="{dto.msg.chartMobileFavoriteSave.favorite.Range}")
    private Integer favorite;
    /**
     * 图表id
     * 查询收藏图表时，忽略该条件，因为要先查出当前员工所有的收藏图表，用以限制收藏图表数量
     */
    @NotNull(message = "{dto.msg.chartMobileFavoriteSave.chartId.NotNull}")
    @Getter(onMethod_ = {@QueryIgnore})
    private Long chartId;

    /**
     * 1app首页特殊类，2首页右侧动态看板分类，3首页左侧分类，
     * 4图表中心系统分类，5图表中心新建的分类，6员工PK，61部门pk，7目标完成情况，8呼叫中心
     */
    @NotNull(message = "{dto.msg.chartMobileFavoriteSave.categoryType.NotNull}")
    @Getter(onMethod_ = {@QueryIgnore})
    private Integer categoryType;

    /**
     * 删除标记，此处不用初始化del=0：如果del=1，说明已删除，不再是收藏
     * 该字段不要暴露给前端
     */
    private Integer del;

    /**
     * 自定义、系统标志
     * @see com.xbongbong.pro.statistic.enums.StatisticsTypeEnum
     */
    @NotNull(message = "{dto.msg.chartPublish.statisticsType.NotNull}")
    private Integer statisticsType;
}
